#pragma once
#ifndef _LANES_H_
#define _LANES_H_

#include "LaneSection.h"
#include "LaneOffset.h"

namespace OpenDrive {

	class Lanes
	{
	public:
		Lanes();
		~Lanes();
		void addLaneSections(const LaneSection &laneSection);
		std::vector<LaneSection>& getLaneSections() ;
		void addLaneOffsets(const LaneOffset &lo);
		std::vector<LaneOffset>& getLaneOffsets() ;
		bool laneSectionExist(int laneSectionId)const;
		bool laneExist(int laneSectionId,int laneId)const;
		LaneSection& getLaneSectionById(int laneSectionId);
		Lane& getLane(int laneSectionId, int laneId);
		int getLaneSectionsSize() const;
		int getLaneOffsetsSize() const;

	private:
		std::vector<LaneSection> laneSections;
		std::vector<LaneOffset> laneOffsets;
	};
}

#endif // !_LANES_H_
